A classical computer operates by processing binary bits of information that change state according to the laws of classical physics. These information bits can be modified by using simple logic gates such as AND and OR gates. The binary bits are physically created by a high or a low energy level occurring at the output of the logic gate to represent either a logical one (e.g., high voltage) or a logical zero (e.g., low voltage). A classical algorithm, such as one that multiplies two integers, can be decomposed into a long string of these simple logic gates. Like a classical computer, a quantum computer also has bits and gates. Instead of using logical ones and zeroes, a quantum bit (“qubit”) uses quantum mechanics to occupy both possibilities simultaneously. This ability means that a quantum computer can solve a large class of problems with exponentially greater efficiency than that of a classical computer.